Micron Document
`:top
Given that `F33f`_`[metadata`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Metadata_(computing)]`_`f is a set of descriptive, structural and administrative `F33f`_`[data`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Data]`_`f about a group of `F33f`_`[computer`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computer]`_`f data (for example such as a `F33f`_`[database schema`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Database_schema]`_`f), `!Java Metadata Interface`! (or `!JMI`!) is a platform-neutral specification that defines the creation, storage, access, lookup and exchange of metadata in the `F33f`_`[Java programming language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_(programming_language)]`_`f.

>>Contents

• `F0af`_`[History`#history]`_`f
• `F0af`_`[Usage`#usage]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[External links`#external-links]`_`f

-─

>>History

The JMI specification was developed under the `F33f`_`[Java Community Process`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Community_Process]`_`f and is defined by `F33f`_`[JSR`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Specification_Request]`_`f 40 (a JSR is the formal document that describe proposed specifications and technologies for adding to the `F33f`_`[Java platform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_platform]`_`f).

JMI is based on the `F33f`_`[Meta-Object Facility`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Meta-Object_Facility]`_`f (or MOF) specification from the `F33f`_`[Object Management Group`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Object_Management_Group]`_`f (or OMG). The MOF is a `F33f`_`[metamodel`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Metamodeling]`_`f (a `F33f`_`[model`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computer_model]`_`f of any kind of metadata) used notably to define the `F33f`_`[Unified Modeling Language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Unified_Modeling_Language]`_`f (or UML).

It supports the exchange of metadata through `F33f`_`[XMI`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=XML_Metadata_Interchange]`_`f. XMI is a standard for exchanging metadata information via `F33f`_`[Extensible Markup Language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Extensible_Markup_Language]`_`f (or XML). The MOF/XMI specifications are used for the exchange of UML models.

>>Usage

Essentially, JMI can be used to write tools in Java for manipulating UML models, which can be used in `F33f`_`[Model Driven Architecture`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Model_Driven_Architecture]`_`f and/or `F33f`_`[Model Driven Development`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Model-driven_engineering]`_`f. There are many implementations of JMI, including the Reference Implementation from `F33f`_`[Unisys`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Unisys]`_`f, `F33f`_`[SAP NetWeaver`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=SAP_NetWeaver]`_`f and `F33f`_`[Sun Microsystems`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Sun_Microsystems]`_`f's open-source implementation from the `F33f`_`[NetBeans`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=NetBeans]`_`f group. JMI is compatible with `F33f`_`[Java SE`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_SE]`_`f 1.3 and above through:

• Standardized mappings from the MOF modeling constructs to Java;
• Reflective APIs for generic discovery and navigation of metadata models and instances.

>>See also

>>External links

• JSR 40

`c`F0af`_`[↑ Back to top`#top]`_`f`a